/*
 * 文 件 名:  JsonUtil.java
 * 版    权:  Copyright (c) 2006-2014 ICS&S Inc,  All rights reserved
 * 描    述:  <描述>
 * 修 改 人:  Desmond
 * 修改时间:  2014-10-15
 * 修改版本号:  <版本编号>
 * 修改履历:  <修改内容>
 */
package com.wolfstreet.wsonline.util;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

/**
 * json解析
 * 
 * @author Desmond
 * @version [版本号, 2014-10-15]
 */
public class JsonUtil
{
    /** 
     *  对象转json
     *
     * @param entity
     * @return
     * String
     * @author Desmond  2014-10-15 上午10:40:06
     */
    public static String entity2Json(Object entity)
    {
        return new Gson().toJson(entity);
    }
    
    /** 
     * json转单个对象
     *
     * @param json
     * @param clazz
     * @return
     * Object
     * @author Desmond  2014-10-15 上午10:40:16
     * @param <T>
     * @param <T>
     */
    public static <T> T json2Entity(String json, Class<T> clazz)
    {
        return new Gson().fromJson(json, clazz);
    }
    
    /** 
     *  json转对象集合
     *
     * @param json
     * @param typeToken 例：new TypeToken&lt;List&lt;Person&gt;&gt;(){}
     * @return
     * Object
     * @author Desmond  2014-10-15 上午10:40:31
     * @param <T>
     */
    public static <T> T json2Entity(String json, TypeToken<T> typeToken)
    {
        return new Gson().fromJson(json, typeToken.getType());
    }
}
